package com.rabbit.message.config;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * 队列配置
 * @author pyong
 */
@Configuration
public class QueueConfig {
    //队列名称
    public final static String QUEUE_NAME1 =  "first_queue";
    public static final String QUEUE_NAME2 = "second_queue";
    public static final String QUEUE_NAME3 = "thrid_queue";

    /**
    * durable="true" 持久化消息队列 ， rabbitmq重启的时候不需要创建新的队列
    * auto-delete 表示消息队列没有在使用时将被自动删除 默认是false
    * exclusive  表示该消息队列是否只在当前connection生效,默认是false
    **/
    @Bean
    public Queue firstQueue(){
        return new Queue(QUEUE_NAME1,true,false,false);
    }

    @Bean
    public Queue secondQueue(){
        return new Queue(QUEUE_NAME2,true,false,false);
    }
    @Bean
    public Queue thirdQueue(){
        //配置自动删除
        Map<String,Object> arguments = new HashMap<>();
        arguments.put("x-messgae-ttl",60000);
        return new Queue(QUEUE_NAME3,true,false,true,arguments);
    }

}
